What is a software project worth?
An art even blacker than software cost estimation
In General
Image credit: Tax Credits
Software estimation is frequently called a black art, yet the corresponding skill of estimating the value of software projects is even more obscure.
It's strange, because cost estimates don't make a lot of sense without value estimates to compare them to. It's clear that a $50,000 project that earns $1,000,000 is worth doing and a $50,000 project that earns $5,000 is worth doing, but usually you'll find managers draw a complete blank if you ask them what they think the value of a project is.
Extreme uncertainty
[]
Image source: Dagny Mol
If you're building a software product, for instance, the value is dependent on the commercial success of the product, and like the value of a movie or television show, is unpredictable.
For instance, one could say that Windows 95 and OS/2 Warp delivered similar value to customers, but one sold a lot of copies and the other one didn't.
The business model for a software product (say a word processor, social media site, or a video game) is that you spend a lot of money up front and recognize there's a good chance you'll never finish the product or that the product won't click with the market. There's also the possibility that you'll sell a large number of copies with little selling cost and wind up with a big profit.
Faced with this kind of uncertainty, many people give up. That's a mistake.
Detailed modeling of probability distributions is possible, but we need back-of-the-envelope calculations as a broad guide to action. I've often heard business people say that "this B2B product could generate $3 million a year in subscription revenue", and this model can be easily improved by saying that the probability of success is, say, 50%.
Sweating the small stuff
Image source: Anders Sandberg
Just as it is easier to estimate the cost of a small software project, it can be easier to estimate the value of a small software project.
The other day I noticed that a service that was noticeably slow on a m1.medium RDS instance in Amazon AWS ($117 a month) performed acceptably on a m1.large instance ($234 a month.) (see pricing data)
Previous to this I'd considered doing optimization work to speed this service up, and now I had a clear trade-off between money and labor. The next problem, however, is to calculate a present value for a $117 a month cash flow. There's a whole science of this, but it's not as scientific as we'd like because of uncertainty. (Will I shut down the system in six months? Will I sell it? Will Amazon lower the cost of the instance in the future? Will I have to tear the whole thing up for some other reason someday? Will load on the system increase dramatically, increasing the value of the optimized solution?)
The "back of the envelope" approach is to assume a certain time horizon and apply a "price-to-earnings" ratio. For instance, if I feel my work needs to pay off in the next two years, I'd multiply $117 by 24 and get $2808. If I felt my time was worth $100 an hour, that tells me that it's worth spending 28 hours (almost 4 FTE days) to optimize the service.
Is economic analysis worth it?
Image credit: Starman series
In 15 minutes, I created a rough estimate for how much time I should spend trying to optimize a server. This is roughly 1% of the time the project would take, so this is a small amount of overhead.
This kind of analysis isn't incredibly accurate, that is, I wouldn't trust it to balance $3000 a month of revenue against $2800 of expenses, however, a quick economic estimate is a good method of "front gating" project proposals to decide which should go forward, because this method will reject many proposals quickly.
How the 1% got that way
Although very detailed methods could be used to model risk and revenue, these results can be cooked down to a "price-earnings ratio".
Around the beginning of 2014, the http://www.multpl.com/ is around 20.15. One might say that 15 is a more reasonable historical average and that this number has been in the 30-65 at market tops in the past, but it's ten times larger than the multiple that I used for my own project that I'm bankrolling with my own money.
An interest result of this, however, is that a saving $117 a month is worth $28,220 to stockholders of an S&P 500 corporation. One could, conclude, therefore, that I could sell the same work to a larger organization and get paid more for it (an argument in favor of consulting over running a "startup", and has something to do with why firms exist.)
Clearly, the quality of management has a huge impact on a large public companies, and this is why top managers can justifies eye-popping salaries. Yet, leadership doesn't happen entirely at the top. It seems that an employee who gets paid $14,000 a year to work at a place like Target or Burger King could find some way to save the company $117 a month. By doing so, they generate twice their yearly salary for shareholders and even if they got just 10% of that value, they'd have a powerful incentive to make their employer rich.
Creator of database animals and bayesian brains